package q1021_removeOuterParentheses;

import java.util.ArrayDeque;
import java.util.Deque;

public class Solution_2 {
    /*
    用栈的方式来解决该问题
    类似于维护一个差值 我们可以通过判断栈是否非空来加入字符
     */
    public String removeOuterParentheses(String s) {
        StringBuilder res = new StringBuilder();
        Deque<Character> stack = new ArrayDeque<>();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == ')') {
                stack.pop();
            }
            if (!stack.isEmpty()) {
                res.append(c);
            }
            if (c == '(') {
                stack.push(c);
            }
        }
        return res.toString();
    }

}
